package blog.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import blog.entity.Category;
/**
 * 文章种类mapper  接口绑定
 * @author 江佳洋
 *
 */
public interface CategoryMapper {
	/**
	 * 查询文章的分类
	 * @return
	 */
	public List<Category> getArticleCategory(Integer id);
	/**
	 * 查询所有种类
	 * @return
	 */
	public List<Category> findAllCategory();
	/**
	 * 查询一个分类下有多少文章
	 * @param id
	 * @return
	 */
	public int findCategoryCountArticle(Integer id);
	/**
	 * 判断分类名字是否重复
	 * @return
	 */
	public String getcategoryName(String categoryName);
	/**
	 * 添加分类
	 * @return
	 */
	public int insertCategory();
	/**
	 * 添加分类
	 * @param category 
	 * @return
	 */
	public int addCategory(Category category);
	/**
	 * 删除分类
	 * @param categoryId
	 */
	public void deleteCategory(Integer categoryId);
	/**
	 * 修改分类
	 * @param category
	 * @return
	 */
	public int updateCategoru(Category category);
	/**
	 * 根据id查询分类
	 * @param id
	 * @return
	 */
	public Category selectCategoryById(Integer id);
	/**
	 * 在记录文章分类的表信息加入数据，就是article_category_ref这个表
	 * @param articleId 文章id
	 * @param categoryId  分类id
	 */
	public void addArticleCategory(@Param("articleId")Integer articleId, @Param("categoryId")Integer categoryId);
	/**
	 * 删除文章时删除跟文章有关的article_category_ref表里的数据
	 * @param articleId
	 */
	public void deleteCategoryArticle(Integer articleId);
	/**
	 * 做菜单联动用，根据大分类id查询小分类
	 * @param id
	 * @return
	 */
	public List<Category> findSmallCategory(Integer id);
}
